//
// StoreNuke.Net -  http://www.storenuke.net
// Copyright (c) 2005
// by Robert J Collins ( info@storenuke.net ) of WillowTree Software, Inc. ( http://www.willowtreesoftware.com )
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated 
// documentation files (the "Software"), to deal in the Software without restriction, including without limitation 
// the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and 
// to permit persons to whom the Software is furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all copies or substantial portions 
// of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED 
// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 
// CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
// DEALINGS IN THE SOFTWARE.
//

using System.Configuration;
using System.Data;
using System.Data.SqlClient;

namespace StoreNuke.StarterKit.Commerce
{
	/// <summary>
	/// Summary description for SkinDB.
	/// </summary>
	public class SkinDB
	{
		//*******************************************************
		//
		// Store.GetSkinPath() Method <a name="GetSkinPath"></a>
		//
		// The GetSkinPath method returns a struct containing a forward-only,
		// read-only DataReader. This displays the SkinPath within a specified
		// Store.  The SQLDataReaderResult struct also returns the
		// SQL connection, which must be explicitly closed after the
		// data from the DataReader is bound into the controls.
		//
		//StoreNuke_UpdateSkinPath
		//*******************************************************

		public string GetSkinPath() 
		{

			// Create Instance of Connection and Command Object
			SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
			SqlCommand myCommand = new SqlCommand("StoreNuke_GetSkinPath", myConnection);

			// Mark the Command as a SPROC
			myCommand.CommandType = CommandType.StoredProcedure;

			// Execute the command
			myConnection.Open();
			SqlDataReader result = myCommand.ExecuteReader(CommandBehavior.CloseConnection);

			string skinPath = "";
            
			// Return the datareader result
			if(result.Read())
			{
				skinPath = result["SkinPath"].ToString();
			}
			result.Close();

			return skinPath;
		}

		//*******************************************************
		//
		// ShoppingCartDB.AddItem() Method <a name="AddItem"></a>
		//
		// The AddItem method adds an item into a shopping cart.
		//
		// Other relevant sources:
		//     + <a href="ShoppingCartAddItem.htm" style="color:green">ShoppingCartAddItem Stored Procedure</a>
		//
		//*******************************************************

		public void UpdateSkinPath(string skinPath) 
		{
			// Create Instance of Connection and Command Object
			SqlConnection myConnection = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
			SqlCommand myCommand = new SqlCommand("StoreNuke_UpdateSkinPath", myConnection);

			// Mark the Command as a SPROC
			myCommand.CommandType = CommandType.StoredProcedure;

			// Add Parameters to SPROC
			SqlParameter parameterSkinPath = new SqlParameter("@SkinPath", SqlDbType.NVarChar, 100);
			parameterSkinPath.Value = skinPath;
			myCommand.Parameters.Add(parameterSkinPath);

			// Open the connection and execute the Command
			myConnection.Open();
			myCommand.ExecuteNonQuery();
			myConnection.Close();
		}
	}
}
